#!/usr/bin/env python
# -*- coding: utf8 -*-

style_type = {
        'moon':{
            'item_selected_bg':'rgb(119, 119, 119)',
            'item_hover_bg':'rgb(77, 77, 77)',
            'content_bg':'rgb(25, 25, 25)',
            'normal_bg':'rgb(40, 40, 40)',
            'input_bg':'rgb(33,33,33)',
            'text_color':'rgb(200,200,200)',
            'border_color':'rgb(45,45,45)',
            'nav_hover_bg': 'rgba(0, 120, 215, 100)',
            'nav_selected_bg':'rgb(53, 53, 53)',
            'disabled_color': 'rgb(60,60,60)',
            'line_color': 'rgb(20,20,20)',
            'border_top':'1px solid rgb(45,45,45)',
            'border_bottom':'1px solid rgb(45,45,45)',
            'border_left':'1px solid rgb(45,45,45)',
            'border_right':'1px solid rgb(45,45,45)',
            'button_hover_bg': 'rgb(77, 77, 77)',
            'thumbnail_item_selected_border_color': 'rgb(0,120,210)',
            'thumbnail_item_border_color': 'rgb(45,45,45)',
            'thumbnail_item_selected_bg_color': 'rgba(0,120,210,100)',
            'thumbnail_item_bg': 'rgb(50,50,50)',
            },
        'sun':{
            'item_selected_bg':'rgb(205, 232, 255)',
            'item_hover_bg':'rgb(229, 243, 255)',
            'content_bg':'rgb(255, 255, 255)',
            'normal_bg':'rgb(245, 246, 247)',
            'input_bg':'rgb(255,255,255)',
            'text_color':'rgb(0,0,0)',
            'border_color':'rgb(60,60,60)',
            'nav_hover_bg': 'rgba(0, 120, 215, 100)',
            'nav_selected_bg':'rgb(200, 200, 200)',
            'disabled_color': 'rgb(60,60,60)',
            'line_color': 'rgb(60,60,60)',
            'border_top':'1px solid rgb(45,45,45)',
            'border_bottom':'1px solid rgb(45,45,45)',
            'border_left':'0px solid rgb(45,45,45)',
            'border_right':'0px solid rgb(45,45,45)',
            'button_hover_bg': 'rgb(200, 200, 200)',
            'thumbnail_item_selected_border_color': 'rgb(0,120,210)',
            'thumbnail_item_border_color': 'rgb(150,150,150)',
            'thumbnail_item_selected_bg_color': 'rgba(0,120,210,100)',
            'thumbnail_item_bg': 'rgb(245, 246, 247)',
            },
            
    }

TEMPLATE_STYLE = """
*{
    color:@text_color; 
    font: 9pt \"Arial\"; 
    border:none;
    outline:0px;
    background-color:@normal_bg;
}

QLabel,
QPushButton,
QCheckBox,
QToolButton::hover,
QToolButton{
    background-color:rgba(0,0,0,0)
}
*[item_type="HLine"]{
    background-color:@border_color;
    border:none;
    min-height:1px;
    max-height:1px;
}
*[item_type="normal"]{
    background-color:@content_bg;
}
*[item_type="normal"][item_status="hover"]{
    background-color:@item_hover_bg;
}
*[item_type="normal"][item_status="selected"]{
    background-color:@item_selected_bg;
}
*[item_type="normal"][item_status="normal"]::hover{
    background-color:@item_hover_bg;
}

*[item_type="thumbnail"]{
    background-color:@thumbnail_item_bg;
    border: 1px solid @thumbnail_item_border_color;
    
}

*[item_type="thumbnail"][item_status="selected"]{
    background-color:@thumbnail_item_selected_bg_color;
    border: 1px solid @thumbnail_item_selected_border_color
}

*[need_border="true"]{

    border: 1px solid @border_color
}
*[is_content="true"]{
    background-color:@content_bg;
    border:none;
    border-bottom:@border_bottom;
    border-top:@border_top;
    border-left:@border_left;
    border-right:@border_right;
}
QScrollArea{
    background:@content_bg;
}

/****************** LineEdit ********************/
QLineEdit{
    background-color:@input_bg;
}
QSplitter::handle{
    background:@line_color;
    }
/****************** QCheckBox ********************/
QCheckBox::indicator{
    width:16px;
    height:16px;
    image:url(:/smart/box_unchecked.png);
    }
QCheckBox::indicator::hover{
    image:url(:/smart/box_hover.png);
    }
QCheckBox::indicator::checked{
    image:url(:/smart/box_checked.png);
    }
/****************** PushButton ********************/
QPushButton{
    height:25px;
    }
QToolButton::menu-indicator,
QPushButton::menu-indicator{
    image:none;
    }
QPushButton::disabled{
    background-color:rgba(70,70,70,0);
    height:25px;
    color: rgb(120,120,120)
    }
QPushButton:hover{
    background-color:@button_hover_bg;
    }

/****************** RadioButton ********************/
QRadioButton::indicator{
    image:url(:/smart/radio_unchecked.png);
    }
QRadioButton::indicator::hover{
    image:url(:/smart/radio_hover.png);
    }
QRadioButton::indicator::checked{
    image:url(:/smart/radio_checked.png);
    }

/****************** ComboBox ********************/
QComboBox{
    background:@input_bg;
    }

QComboBox:drop-down{
     image: url(:/smart/arrow_block_down_normal.png);
     width:15px;
     height:15px;
    }

/****************** Slider ********************/
QSlider{
    background-color:rgba(255,255,255,0);
    image:url(:/smart/arrow_block_down_normal.png);
    }
QSlider::handle:horizontal{
    background-color:rgb(0,120,215);
    width:5px;
    margin: -5px 0px -5px 0px;
    border-radius:2px;
    }
QSlider::handle:horizontal:hover{
    background-color:rgba(255,255,255,255);
    }
QSlider::groove:horizontal{
    background-color:rgba(255,255,255,0);
    position: absolute;
    height: 2px;
    left: 5px;
    right: 5px;
    }
QSlider::add-page:horizontal{
    background:rgba(255,255,255,20)
    }
QSlider::sub-page:horizontal{
    background:rgba(0, 120, 215, 250);
    }

/****************** scroll bar ********************/
QScrollBar:vertical{
    background:rgb(77,77,77);
    margin:0px,0px,0px,0px;
    width:15px;
    padding-bottom:15px;
    padding-top:15px;
    }
QScrollBar::handle:vertical{
    background:rgb(113,113,113);
    min-height:15px;
    }
QScrollBar::handle:vertical:hover{
    background:rgb(184,184,184);
    min-height:15px;
    }
QScrollBar::add-line:vertical{
    background:rgb(77,77,77);
    subcontrol-position:bottom;
    height:15px;
    image:url(:/smart/arrow_block_up_normal.png);
    }
QScrollBar::sub-line:vertical{
    background:rgb(77,77,77);
    subcontrol-position:top;
    height:15px;
    image:url(:/smart/arrow_block_down_normal.png);
    }
QScrollBar::add-page:vertical,
QScrollBar::sub-page:vertical{
    background:rgb(77,77,77);
    }
QScrollBar:horizontal{
    background:rgb(77,77,77);
    margin:0px,0px,0px,0px;
    height:15px;
    padding-left:15px;
    padding-right:15px;
    }
QScrollBar::handle:horizontal{
    background:rgb(113,113,113);
    min-width:15px;
    }
QScrollBar::handle:horizontal:hover{
    background:rgb(184,184,184);
    min-width:15px;
    }
QScrollBar::add-line:horizontal{
    background:rgb(77,77,77);
    subcontrol-position:left;
    width:15px;
    image:url(:/smart/arrow_block_right_normal.png);
    }
QScrollBar::sub-line:horizontal{
    background:rgb(77,77,77);
    subcontrol-position:right;
    width:15px;
    image:url(:/smart/arrow_block_left_normal.png);
    }
QScrollBar::add-page:horizontal,
QScrollBar::sub-page:vertical{
    background:rgb(77,77,77);
    }

/****************** Menu ********************/
QMenu{
    border: 1px solid rgb(0, 120, 215);
    }
QMenu:item:disabled{
    color:rgba(50,50,50);
    }
QMenu:item:disabled:selected{
    background:rgba(0, 120, 215, 30);
    color:rgba(50,50,50);
    }
QMenu:item:selected{
    background:rgb(0, 120, 215);
    }

/****************** list view ********************/
QTreeView,
QTreeWidget,
QListView, 
QListWidget{
    background-color:@content_bg;
    border:none;
    border-bottom:@border_bottom;
    border-top:@border_top;
    border-left:@border_left;
    border-right:@border_right;
    }

QTreeView:disabled,
QTreeWidget:disabled,
QListView:disabled, 
QListWidget:disabled{
    color:@disabled_color;
    }
/*
QListView::hover,
QListWidget::hover,
QTreeWidget::hover,
QTreeView::hover{
    border:1px solid rgb(0,120,215);
}
QHeaderView::section{
    background-color:blue;
    }
QListView::disabled{border:none;}
QListWidget::indicator::unchecked{background:blue;}
*/
QListView::indicator::unchecked,
QListWidget::indicator::unchecked{

    image:url(:/smart/box_unchecked.png);
}

QListView::indicator::checked,
QListWidget::indicator::checked{
    image:url(:/smart/box_checked.png);
}

QListView::item,
QListWidget::item{
    background:rgba(0,0,0,0);
}
QListView::item::hover
QListWidget::item::hover{
    background:@item_selected_bg;
    }
QListView::item::selected::active,
QListWidget::item::selected::active{
    background:@item_selected_bg;
}
QListWidget::item::selected::!active{color:rgb(200,200,200);background:rgba(0,120,215,0);}
/*
QTabWidget::tab-bar{
    background:rgb(255, 0, 0);
}
QTabBar{
    background:rgb(255, 0, 0);
}
QTabBar::tab{
    background-color:rgba(70, 70, 70, 0);
    
}

*/
QTabWidget::pane{
    background-color:@normal_bg;
}
QTabBar::tab{
    background-color:rgba(0,0,0,0);
}
QTabBar::tab:hover{
    background-color:@nav_hover_bg;
}
QTabBar::tab:selected{
    background-color:@nav_selected_bg;
}


/****************** tree widget ********************/
QTreeWidget,
QTreeView{

    show-decoration-selected: 1;
    /*selection-background-color:rgb(0, 120, 215);
    border-top:1 solid rgb(20,20,20);
    border-bottom:1 solid rgb(20,20,20);
    alternate-background-color:rgb(40, 40, 40);
    border:1px solid rgb(44,45,49);
    */
    
    }

QTreeWidget::item,
QTreeWidget::item:has-children,
QTreeView::item:has-children,
QTreeView::item{
    /*
    background-color:rgb(45, 45, 45);
    border:none;
    outline:0px;
    */
    height:20;
    }
QTreeWidget::branch:hover,
QTreeWidget::branch:has-children:hover,
QTreeView::branch:hover,
QTreeView::branch:has-children:hover,
QTreeWidget::item:hover,
QTreeWidget::item:has-children:hover,
QTreeView::item:hover,
QTreeView::item:has-children:hover{
    background:@item_hover_bg;
}
QTreeWidget::branch:selected,
QTreeWidget::branch:has-children:selected,
QTreeView::branch:selected,
QTreeView::branch:has-children:selected,
QTreeWidget::item:selected,
QTreeWidget::item:has-children:selected,
QTreeView::item:selected,
QTreeView::item:has-children:selected{
    background:@item_selected_bg;
    }
/*
QTreeWidget::branch,
QTreeView::branch{
    background:rgb(40, 40, 40);
    }
*/

QTreeWidget::branch:closed:has-children:!has-siblings,
QTreeWidget::branch:closed:has-children:has-siblings,
QTreeView::branch:closed:has-children:!has-siblings,
QTreeView::branch:closed:has-children:has-siblings{
    image:url(:/smart/arrow_block_right_normal.png);
    }
QTreeWidget::branch:open:has-children:!has-siblings,
QTreeWidget::branch:open:has-children:has-siblings,
QTreeView::branch:open:has-children:!has-siblings,
QTreeView::branch:open:has-children:has-siblings{
     image:url(:/smart/arrow_block_down_normal.png);
    }
QTreeWidget::branch:closed:has-children:!has-siblings:disabled,
QTreeWidget::branch:closed:has-children:has-siblings:disabled,
QTreeView::branch:closed:has-children:!has-siblings:disabled,
QTreeView::branch:closed:has-children:has-siblings:disabled{
    image:url(:/smart/arrow_block_right_disable.png);
    }
QTreeWidget::branch:open:has-children:!has-siblings:disabled,
QTreeWidget::branch:open:has-children:has-siblings:disabled,
QTreeView::branch:open:has-children:!has-siblings:disabled,
QTreeView::branch:open:has-children:has-siblings:disabled{
     image:url(:/smart/arrow_block_down_disable.png);
    }

"""
